package cn.icare.cms;

import cn.icare.cms.dao.po.User;
import cn.icare.cms.model.ro.EditUserRO;
import cn.icare.cms.model.vo.rest.MsgDatasVO;
import cn.icare.cms.model.vo.rest.UserLoginRespVO;
import cn.icare.cms.model.vo.rest.UserVO;

import java.util.List;

public interface UserService {
    UserLoginRespVO login(String name, String password);

    void logout(String name, String password);

    boolean updatePassword(Integer id, String oldPassword, String newPassword);

    Long createOne(UserVO userVO);

    boolean deleteOne(Integer id);

    boolean deleteBatch(List<Integer> ids);

    UserVO getOne(Integer id);

    MsgDatasVO getList(String name, Integer pageNum, Integer pageSize);

    List<User> getDBList(String name);

    boolean isExists(String username);
    boolean updateOne(EditUserRO userVO);

    UserLoginRespVO refreshToken(String token);

}
